using System;
using System.Collections;
using System.Runtime.InteropServices;
namespace BMC.ARSystem
{
	[ClassInterface, Guid("e349583f-b170-48da-8a82-14bbe7bdb186"), ProgId("BMC.ARSystem.SqlMenu")]
	public class SqlMenu : Menu
	{
		[ARStructMemTypeInfo(Name = "server", Offset = 0u)]
		private string _server;
		[ARStructMemTypeInfo(Name = "sqlCommand", Offset = 1u)]
		private string _sqlCommand;
		[ARStructMemTypeInfo(Name = "labelIndexes", Offset = 2u)]
		private ArrayList _labelIndexes;
		[ARStructMemTypeInfo(Name = "valueIndex", Offset = 3u)]
		private int _valueIndex;
		public string Server
		{
			get
			{
				return this._server;
			}
			set
			{
				this._server = value;
			}
		}
		public string SqlCommand
		{
			get
			{
				return this._sqlCommand;
			}
			set
			{
				this._sqlCommand = value;
			}
		}
		public ArrayList LabelIndexes
		{
			get
			{
				return this._labelIndexes;
			}
			set
			{
				this._labelIndexes = value;
			}
		}
		public int ValueIndex
		{
			get
			{
				return this._valueIndex;
			}
			set
			{
				this._valueIndex = value;
			}
		}
		public SqlMenu()
		{
		}
		internal SqlMenu(object[] rawData, Server server) : base(rawData, server)
		{
			rawData = (object[])Util.GetAt(rawData, new int[]
			{
				5,
				1
			});
			object arg_2F_0 = rawData;
			int[] indexSpec = new int[1];
			this.Server = (string)Util.GetAt(arg_2F_0, indexSpec);
			this.SqlCommand = (string)Util.GetAt(rawData, new int[]
			{
				1
			});
			this.LabelIndexes = ARTypeMgr.Instance.ArrayListFromVariant(Type.GetType("System.UInt32"), (object[])Util.GetAt(rawData, new int[]
			{
				2
			}), server);
			this.ValueIndex = Convert.ToInt32(Util.GetAt(rawData, new int[]
			{
				3
			}));
		}
	}
}
